home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 2010-11-09 | 63.3 KB | 2,162 lines
function getTentativax(k, dirx, diry) { if(dirx == 1 && diry == 0) { if(k == 0 || k == 1 || k == 2) { return 1; } if(k == 3 || k == 4) { return 0; } return -1; } if(dirx == 1 && diry == 1) { if(k == 1 || k == 2 || k == 4) { return 1; } if(k == 3 || k == 7) { return 0; } return -1; } if(dirx == 1 && diry == -1) { if(k == 1 || k == 3 || k == 5) { return 1; } if(k == 2 || k == 7) { return 0; } return -1; } if(dirx == 0 && diry == -1) { if(k == 3 || k == 5 || k == 7) { return 1; } if(k == 8 || k == 1) { return 0; } return -1; } if(dirx == 0 && diry == 1) { if(k == 3 || k == 5 || k == 7) { return 1; } if(k == 8 || k == 1) { return 0; } return -1; } if(dirx == -1 && diry == 1) { if(k == 8 || k == 5 || k == 7) { return 1; } if(k == 6 || k == 3) { return 0; } return -1; } if(dirx == -1 && diry == 0) { if(k == 7 || k == 8 || k == 6) { return 1; } if(k == 5 || k == 4) { return 0; } return -1; } if(dirx == -1 && diry == -1) { if(k == 5 || k == 7 || k == 8) { return 1; } if(k == 6 || k == 3) { return 0; } return -1; } } function getTentativay(k, dirx, diry) { if(dirx == 1 && diry == 0) { if(k == 7 || k == 5 || k == 3) { return 1; } if(k == 1 || k == 8) { return 0; } return -1; } if(dirx == 1 && diry == 1) { if(k == 5 || k == 3 || k == 1) { return 1; } if(k == 2 || k == 6) { return 0; } return -1; } if(dirx == 1 && diry == -1) { if(k == 8 || k == 7 || k == 5) { return 1; } if(k == 3 || k == 6) { return 0; } return -1; } if(dirx == 0 && diry == -1) { if(k == 6 || k == 8 || k == 7) { return 1; } if(k == 5 || k == 4) { return 0; } return -1; } if(dirx == 0 && diry == 1) { if(k == 2 || k == 1 || k == 3) { return 1; } if(k == 4 || k == 5) { return 0; } return -1; } if(dirx == -1 && diry == 1) { if(k == 1 || k == 5 || k == 3) { return 1; } if(k == 7 || k == 2) { return 0; } return -1; } if(dirx == -1 && diry == 0) { if(k == 2 || k == 5 || k == 6) { return 1; } if(k == 8 || k == 1) { return 0; } return -1; } if(dirx == -1 && diry == -1) { if(k == 4 || k == 6 || k == 8) { return 1; } if(k == 7 || k == 2) { return 0; } return -1; } } function atualizarPosicoes() { var _loc2_ = undefined; var _loc5_ = undefined; for(var _loc6_ in tropa1.soldados) { if(tropa1.soldados[_loc6_].status) { if(tropa1.soldados[_loc6_].andando) { var _loc4_ = _root["sd" + _loc6_]._x != tropa1.soldados[_loc6_].gox; var _loc3_ = _root["sd" + _loc6_]._y != tropa1.soldados[_loc6_].goy; if(_loc4_ || _loc3_) { if(tropa1.soldados[_loc6_].classe == CAV || tropa1.soldados[_loc6_].classe == ARQ) { _loc2_ = 4; _loc5_ = 2; } else { _loc2_ = 2; _loc5_ = 1; } _root["sd" + _loc6_]._x += _loc2_ * getisox(_loc6_); _root["sd" + _loc6_]._y += _loc5_ * getisoy(_loc6_); tropa1.soldados[_loc6_].deslocamento += _loc2_; } if(tropa1.soldados[_loc6_].deslocamento == 20) { tropa1.soldados[_loc6_].y += tropa1.soldados[_loc6_].diry; tropa1.soldados[_loc6_].x += tropa1.soldados[_loc6_].dirx; _root["sd" + _loc6_].swapDepths(nivelSoldados + 32 + getprofundidade(tropa1.soldados[_loc6_].x,tropa1.soldados[_loc6_].y)); grid[tropa1.soldados[_loc6_].y - tropa1.soldados[_loc6_].diry][tropa1.soldados[_loc6_].x - tropa1.soldados[_loc6_].dirx] = -1; } if(!_loc4_ && !_loc3_) { tropa1.soldados[_loc6_].andando = false; } } } } } function andar(i, dirx, diry) { var _loc3_ = tropa1.soldados[i].y + diry; var _loc4_ = tropa1.soldados[i].x + dirx; if(_loc4_ < 0 || _loc4_ >= sizew || _loc3_ < 0 || _loc3_ >= sizeh) { return false; } if(grid[_loc3_][_loc4_] == -1 && (tropa1.soldados[i].dirx || tropa1.soldados[i].diry)) { tropa1.soldados[i].andando = true; tropa1.soldados[i].deslocamento = 0; grid[_loc3_][_loc4_] = i; tropa1.soldados[i].gox = _root["sd" + i]._x + dx * getisox(i); tropa1.soldados[i].goy = _root["sd" + i]._y + dy * getisoy(i); return true; } return false; } function fuja(i) { var _loc6_ = false; var _loc3_ = -1; var _loc5_ = tropa1.soldados[i].x; var _loc4_ = tropa1.soldados[i].y; var _loc2_ = -1; while(_loc2_ < 2 && !_loc6_) { var _loc1_ = -1; while(_loc1_ < 2 && !_loc6_) { if(!(_loc2_ + _loc4_ < 0 || _loc1_ + _loc5_ < 0 || _loc2_ + _loc4_ >= sizeh || _loc1_ + _loc5_ >= sizew)) { _loc3_ = grid[_loc4_ + _loc2_][_loc5_ + _loc1_]; if(_loc3_ != -1 && _loc3_ != 500 && tropa1.soldados[_loc3_].tropa != tropa1.soldados[i].tropa) { _loc6_ = true; } } _loc1_ = _loc1_ + 1; } _loc2_ = _loc2_ + 1; } if(_loc6_) { tropa1.soldados[i].alvo = _loc3_; } return undefined; } function arqueiroTarefa(i) { if(tropa1.soldados[i].modo == 1) { fuja(i); } var _loc9_ = tropa1.soldados[i].estado; var _loc8_ = tropa1.soldados[i].alvo; if(_loc9_ == EST_PARADO) { if(lado1 != 0 && lado2 != 0) { setObjetivo(i); } } var _loc10_ = tropa1.soldados[_loc8_].y - tropa1.soldados[i].y; var _loc11_ = tropa1.soldados[_loc8_].x - tropa1.soldados[i].x; tropa1.soldados[i].diry = _loc10_ >= 0 ? (_loc10_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc11_ >= 0 ? (_loc11_ <= 0 ? 0 : 1) : -1; var _loc14_ = _loc10_ * _loc10_ + _loc11_ * _loc11_; var _loc13_ = 9; var _loc12_ = 81; var _loc5_ = 1; if(tropa1.soldados[i].modo != 2) { if(_loc14_ > _loc12_) { _loc9_ = EST_PERSEGUIR; _loc5_ = 1; } else if(_loc14_ > _loc13_) { _loc9_ = EST_ATACAROFENSIVO; } else { _loc9_ = EST_PERSEGUIR; _loc5_ = -1; } } if(_loc9_ == EST_PERSEGUIR) { if(!tropa1.soldados[_loc8_].status) { mudarEstado(i,EST_PARADO); return undefined; } if(tropa1.soldados[i].modo == 2) { _loc14_ = _loc10_ * _loc10_ + _loc11_ * _loc11_; if(_loc14_ < 16) { tropa1.soldados[i].mododesejado = 1; } } var _loc7_ = tropa1.soldados[i].dirx; var _loc6_ = tropa1.soldados[i].diry; var _loc2_ = 1; while(_loc2_ < 9) { var _loc4_ = getTentativax(_loc5_ != 1 ? 9 - _loc2_ : _loc2_,_loc7_,_loc6_); var _loc3_ = getTentativay(_loc5_ != 1 ? 9 - _loc2_ : _loc2_,_loc7_,_loc6_); tropa1.soldados[i].dirx = _loc4_; tropa1.soldados[i].diry = _loc3_; if(andar(i,_loc4_,_loc3_)) { mudarEstado(i,EST_PERSEGUIR); break; } _loc2_ = _loc2_ + 1; } return undefined; } if(_loc9_ == EST_ATACAROFENSIVO) { if(!tropa1.soldados[_loc8_].status) { mudarEstado(i,EST_PARADO); return undefined; } tropa1.soldados[i].diry = _loc10_ >= 0 ? (_loc10_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc11_ >= 0 ? (_loc11_ <= 0 ? 0 : 1) : -1; if(tropa1.soldados[i].flecha++ == 15) { mudarEstado(i,EST_ATACAROFENSIVO); var _loc15_ = new Flecha(tropa1.soldados[i].x,tropa1.soldados[i].y,tropa1.soldados[_loc8_].x,tropa1.soldados[_loc8_].y,flechaAtual++,i,"flecha",20); flechas.push(_loc15_); tropa1.soldados[i].flecha = 0; } return undefined; } if(_loc9_ == EST_PARADODEFENSIVO) { mudarEstado(i,EST_PERSEGUIR); return undefined; } if(_loc9_ == EST_FAZERRECUO) { if(!tropa1.soldados[_loc8_].status) { mudarEstado(i,EST_PARADORECUO); return undefined; } _loc10_ = tropa1.soldados[_loc8_].y - tropa1.soldados[i].y; _loc11_ = tropa1.soldados[_loc8_].x - tropa1.soldados[i].x; if(!isAdjacente(_loc11_,_loc10_)) { mudarEstado(i,EST_PERSEGUIR); return undefined; } tropa1.soldados[i].diry = _loc10_ >= 0 ? (_loc10_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc11_ >= 0 ? (_loc11_ <= 0 ? 0 : 1) : -1; mudarEstado(i,EST_FAZERRECUO); return undefined; } } function guerreiroTarefa(i) { var _loc13_ = tropa1.soldados[i].estado; var _loc3_ = tropa1.soldados[i].alvo; if(_loc13_ == EST_PARADO) { if(lado1 != 0 && lado2 != 0) { setObjetivo(i); } return undefined; } if(_loc13_ == EST_PERSEGUIR) { if(!tropa1.soldados[_loc3_].status) { mudarEstado(i,EST_PARADO); return undefined; } var _loc14_ = tropa1.soldados[_loc3_].y - tropa1.soldados[i].y; var _loc15_ = tropa1.soldados[_loc3_].x - tropa1.soldados[i].x; tropa1.soldados[i].diry = _loc14_ >= 0 ? (_loc14_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc15_ >= 0 ? (_loc15_ <= 0 ? 0 : 1) : -1; if(isAdjacente(_loc15_,_loc14_)) { if(tropa1.soldados[i].modo == 0) { mudarEstado(i,EST_ATACAROFENSIVO); } return undefined; } if(tropa1.soldados[i].modo == 2) { var _loc16_ = _loc14_ * _loc14_ + _loc15_ * _loc15_; if(_loc16_ < 16) { tropa1.soldados[i].mododesejado = 1; } } var _loc10_ = tropa1.soldados[i].dirx; var _loc9_ = tropa1.soldados[i].diry; var _loc12_ = undefined; var _loc11_ = undefined; var _loc7_ = 1; while(_loc7_ < 9) { tropa1.soldados[i].dirx = _loc12_ = getTentativax(_loc7_,_loc10_,_loc9_); tropa1.soldados[i].diry = _loc11_ = getTentativay(_loc7_,_loc10_,_loc9_); if(andar(i,_loc12_,_loc11_)) { mudarEstado(i,EST_PERSEGUIR); break; } _loc7_ = _loc7_ + 1; } return undefined; } if(_loc13_ == EST_ATACAROFENSIVO) { if(!tropa1.soldados[_loc3_].status) { mudarEstado(i,EST_PARADO); return undefined; } _loc14_ = tropa1.soldados[_loc3_].y - tropa1.soldados[i].y; _loc15_ = tropa1.soldados[_loc3_].x - tropa1.soldados[i].x; if(!isAdjacente(_loc15_,_loc14_)) { mudarEstado(i,EST_PERSEGUIR); return undefined; } tropa1.soldados[i].diry = _loc14_ >= 0 ? (_loc14_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc15_ >= 0 ? (_loc15_ <= 0 ? 0 : 1) : -1; if(!tropa1.soldados[i].atacando) { tropa1.soldados[i].atacando = true; atacar(i,tropa1.soldados[i].alvo); mudarEstado(i,EST_ATACAROFENSIVO); } return undefined; } if(_loc13_ == EST_ATACARDEFENSIVO || _loc13_ == EST_PARADODEFENSIVO) { var _loc5_ = tropa1.soldados[i].y; var _loc6_ = tropa1.soldados[i].x; var _loc8_ = false; _loc3_ = -1; var _loc4_ = -1; while(_loc4_ < 2 && !_loc8_) { var _loc1_ = -1; while(_loc1_ < 2 && !_loc8_) { if(!(_loc4_ + _loc5_ < 0 || _loc1_ + _loc6_ < 0 || _loc4_ + _loc5_ >= sizeh || _loc1_ + _loc6_ >= sizew)) { _loc3_ = grid[_loc5_ + _loc4_][_loc6_ + _loc1_]; if(_loc3_ != -1 && _loc3_ != 500 && tropa1.soldados[_loc3_].tropa != tropa1.soldados[i].tropa) { _loc8_ = true; } } _loc1_ = _loc1_ + 1; } _loc4_ = _loc4_ + 1; } if(!_loc8_) { mudarEstado(i,EST_PARADODEFENSIVO); tropa1.soldados[i].atacando = false; return undefined; } tropa1.soldados[i].alvo = _loc3_; _loc14_ = tropa1.soldados[_loc3_].y - tropa1.soldados[i].y; _loc15_ = tropa1.soldados[_loc3_].x - tropa1.soldados[i].x; tropa1.soldados[i].diry = _loc14_ >= 0 ? (_loc14_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc15_ >= 0 ? (_loc15_ <= 0 ? 0 : 1) : -1; if(!tropa1.soldados[i].atacando) { tropa1.soldados[i].atacando = true; atacar(i,tropa1.soldados[i].alvo); mudarEstado(i,EST_ATACARDEFENSIVO); } return undefined; } if(_loc13_ == EST_FAZERRECUO) { if(!tropa1.soldados[_loc3_].status) { mudarEstado(i,EST_PARADORECUO); return undefined; } _loc14_ = tropa1.soldados[_loc3_].y - tropa1.soldados[i].y; _loc15_ = tropa1.soldados[_loc3_].x - tropa1.soldados[i].x; if(!isAdjacente(_loc15_,_loc14_)) { mudarEstado(i,EST_PERSEGUIR); return undefined; } tropa1.soldados[i].diry = _loc14_ >= 0 ? (_loc14_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc15_ >= 0 ? (_loc15_ <= 0 ? 0 : 1) : -1; mudarEstado(i,EST_FAZERRECUO); return undefined; } } function clerigoTarefa(i) { if(tropa1.soldados[i].modo == 1) { fuja(i); } var _loc10_ = tropa1.soldados[i].estado; var _loc9_ = tropa1.soldados[i].alvo; if(_loc10_ == EST_PARADO) { if(lado1 != 0 && lado2 != 0) { setObjetivo(i); } } var _loc11_ = tropa1.soldados[_loc9_].y - tropa1.soldados[i].y; var _loc12_ = tropa1.soldados[_loc9_].x - tropa1.soldados[i].x; tropa1.soldados[i].diry = _loc11_ >= 0 ? (_loc11_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc12_ >= 0 ? (_loc12_ <= 0 ? 0 : 1) : -1; var _loc15_ = _loc11_ * _loc11_ + _loc12_ * _loc12_; var _loc14_ = 9; var _loc13_ = 81; var _loc6_ = 1; if(tropa1.soldados[i].modo != 2) { if(_loc15_ > _loc13_) { _loc10_ = EST_PERSEGUIR; _loc6_ = 1; } else if(_loc15_ > _loc14_) { _loc10_ = EST_ATACAROFENSIVO; } else { _loc10_ = EST_PERSEGUIR; _loc6_ = -1; } } if(_loc10_ == EST_PERSEGUIR) { if(!tropa1.soldados[_loc9_].status) { mudarEstado(i,EST_PARADO); return undefined; } if(tropa1.soldados[i].modo == 2) { _loc15_ = _loc11_ * _loc11_ + _loc12_ * _loc12_; if(_loc15_ < 16) { tropa1.soldados[i].mododesejado = 1; } } var _loc8_ = tropa1.soldados[i].dirx; var _loc7_ = tropa1.soldados[i].diry; var _loc3_ = 1; while(_loc3_ < 9) { var _loc5_ = getTentativax(_loc6_ != 1 ? 9 - _loc3_ : _loc3_,_loc8_,_loc7_); var _loc4_ = getTentativay(_loc6_ != 1 ? 9 - _loc3_ : _loc3_,_loc8_,_loc7_); tropa1.soldados[i].dirx = _loc5_; tropa1.soldados[i].diry = _loc4_; if(andar(i,_loc5_,_loc4_)) { mudarEstado(i,EST_PERSEGUIR); break; } _loc3_ = _loc3_ + 1; } return undefined; } if(_loc10_ == EST_ATACAROFENSIVO) { if(!tropa1.soldados[_loc9_].status) { mudarEstado(i,EST_PARADO); return undefined; } tropa1.soldados[i].diry = _loc11_ >= 0 ? (_loc11_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc12_ >= 0 ? (_loc12_ <= 0 ? 0 : 1) : -1; mudarEstado(i,EST_ATACAROFENSIVO); if(tropa1.soldados[i].classe == CLR) { if(Math.round(Math.random() * 20) == 0) { _root.magia(i,_loc9_,2); } } else if(Math.round(Math.random() * 50) == 0) { _root.magia(i,_loc9_,1); } else if(Math.round(Math.random() * 50) == 0) { _root.magia(i,_loc9_,0); } return undefined; } if(_loc10_ == EST_PARADODEFENSIVO) { mudarEstado(i,EST_PERSEGUIR); return undefined; } if(_loc10_ == EST_FAZERRECUO) { if(!tropa1.soldados[_loc9_].status) { mudarEstado(i,EST_PARADORECUO); return undefined; } _loc11_ = tropa1.soldados[_loc9_].y - tropa1.soldados[i].y; _loc12_ = tropa1.soldados[_loc9_].x - tropa1.soldados[i].x; if(!isAdjacente(_loc12_,_loc11_)) { mudarEstado(i,EST_PERSEGUIR); return undefined; } tropa1.soldados[i].diry = _loc11_ >= 0 ? (_loc11_ <= 0 ? 0 : 1) : -1; tropa1.soldados[i].dirx = _loc12_ >= 0 ? (_loc12_ <= 0 ? 0 : 1) : -1; mudarEstado(i,EST_FAZERRECUO); return undefined; } } function atacar(i, j) { if(j == -1) { return undefined; } if(!tropa1.soldados[j].status) { return undefined; } _root.calculaDano(tropa1.soldados[i],tropa1.soldados[j],j); if(j == selecionado) { _root.painel_status.edPV = tropa1.soldados[j].getPV(); } if(tropa1.soldados[j].getPV() <= 0) { tropa1.soldados[i].atacando = false; tropa1.soldados[j].status = false; mudarEstado(j,EST_MORRER); if(tropa1.soldados[j].tropa == 1) { lado1--; _root.painel_jogo.soldados = lado1; } else { lado2--; } morri(j); mudarEstado(i,EST_PARADO); } } function magia(i, j, m) { if(j == -1) { return undefined; } if(!tropa1.soldados[j].status) { return undefined; } if(tropa1.soldados[i].getPM() <= 0) { return undefined; } if(_root.mg_valores[m][3] > tropa1.soldados[i].getPM()) { return undefined; } var _loc4_ = undefined; _root["sd" + i].gotoAndStop("ataca" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry); _root["sd" + i]["ataca" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry].play(); switch(m) { case 0: _loc4_ = tropa1.soldados[i].getPM() - _root.mg_valores[m][3]; tropa1.soldados[i].setPM(_loc4_); if(i == selecionado) { _root.painel_status.edPM = _loc4_; } _root.attachMovie("fireball","fireball" + flechaAtual,3000 + flechaAtual); _root["fireball" + flechaAtual]._x = _root["sd" + j]._x; _root["fireball" + flechaAtual++]._y = _root["sd" + j]._y; _root.fx.attachSound("boladefogo"); _root.fx.start(); _root.calculaMagiaDano(tropa1.soldados[i],tropa1.soldados[j],j,m); break; case 1: _root.attachMovie("thunder","thunder" + flechaAtual,3000 + flechaAtual); _root["thunder" + flechaAtual]._x = _root["sd" + j]._x; _root["thunder" + flechaAtual++]._y = _root["sd" + j]._y; _root.fx.attachSound("raio"); _root.fx.start(); _root.calculaMagiaDano(tropa1.soldados[i],tropa1.soldados[j],j,m); _loc4_ = tropa1.soldados[i].getPM() - _root.mg_valores[m][3]; tropa1.soldados[i].setPM(_loc4_); if(i == selecionado) { _root.painel_status.edPM = _loc4_; } break; case 2: _root.attachMovie("curaleve","curaleve" + flechaAtual,3000 + flechaAtual); _root["curaleve" + flechaAtual]._x = _root["sd" + j]._x; _root["curaleve" + flechaAtual++]._y = _root["sd" + j]._y - 90; _root.fx.attachSound("cura"); _root.fx.start(); _root.curar(i,j); } if(tropa1.soldados[j].getPV() <= 0) { tropa1.soldados[i].atacando = false; tropa1.soldados[j].status = false; mudarEstado(j,EST_MORRER); if(tropa1.soldados[j].tropa == 1) { lado1 = _loc0_ = lado1 - 1; _root.painel_jogo.soldados = _loc0_; } else { lado2--; } morri(j); mudarEstado(i,EST_PARADO); } } function curar(i, j) { if(j == -1) { return undefined; } if(!tropa1.soldados[j].status) { return undefined; } if(tropa1.soldados[i].getPM() <= 0) { return undefined; } _root["sd" + j].msg_dano.valor = "<font size=\'13\' color=\'#006600\'><b>+" + _root.mg_valores[2][2] + "</b></font>"; _root["sd" + j].msg_dano.gotoAndPlay(1); tropa1.soldados[i].setPM(tropa1.soldados[i].getPM() - _root.mg_valores[2][3]); if(i == selecionado) { _root.painel_status.edPM = tropa1.soldados[i].getPM(); } if(tropa1.soldados[j].getPV() < tropa1.soldados[j].getMaxPV()) { if(tropa1.soldados[j].getPV() + _root.mg_valores[2][2] > tropa1.soldados[j].getMaxPV()) { tropa1.soldados[j].setPV(tropa1.soldados[j].getMaxPV()); } else { tropa1.soldados[j].setPV(tropa1.soldados[j].getPV() + _root.mg_valores[2][2]); } if(j == selecionado) { _root.painel_status.edPV = tropa1.soldados[j].getPV(); } } } function flechadano(i, x, y, id) { var _loc2_ = grid[y][x]; if(_loc2_ == -1) { return undefined; } if(!tropa1.soldados[_loc2_].status) { return undefined; } _root.calculaDano(tropa1.soldados[id],tropa1.soldados[_loc2_],_loc2_); if(_loc2_ == selecionado) { _root.painel_status.edPV = tropa1.soldados[_loc2_].getPV(); } if(tropa1.soldados[_loc2_].getPV() <= 0) { tropa1.soldados[_loc2_].status = false; tropa1.soldados[i].atacando = false; mudarEstado(_loc2_,EST_MORRER); if(tropa1.soldados[_loc2_].tropa == 1) { lado1--; _root.painel_jogo.soldados--; } else { lado2--; } morri(_loc2_); mudarEstado(i,EST_PARADO); } } function morri(i) { var _loc4_ = tropa1.soldados[i].x; var _loc3_ = tropa1.soldados[i].y; grid[_loc3_][_loc4_] = -1; if(tropa1.soldados[i].deslocamento < 20) { grid[_loc3_ + tropa1.soldados[i].diry][_loc4_ + tropa1.soldados[i].dirx] = -1; } _root["sd" + i].swapDepths(nivelSoldados + nivelAtual[_loc3_ - _loc4_ + sizew]++ + getprofundidade(_loc4_,_loc3_)); _root["sd" + i].barra._visible = false; if(i == selecionado) { removeMovieClip("_root.alvo2"); _root.alvo2.stopDrag(); _root.magiaAtiva = false; Mouse.show(); } if(tropa1.soldados[i].isLeader() && tropa1.soldados[i].tropa == 1) { _root.showMessage(2); return undefined; } if(lado2 == 0) { _root.showMessage(1); } else if(lado1 == 0) { _root.showMessage(2); } } function atualizarTarefa() { for(var _loc1_ in tropa1.soldados) { if(!(tropa1.soldados[_loc1_].andando || !tropa1.soldados[_loc1_].status || _loc1_ == selecionado)) { if(tropa1.soldados[_loc1_].modo != tropa1.soldados[_loc1_].mododesejado) { if(tropa1.soldados[_loc1_].mododesejado == 0) { mudarEstado(_loc1_,EST_PARADO); } else if(tropa1.soldados[_loc1_].mododesejado == 1) { mudarEstado(_loc1_,EST_PARADODEFENSIVO); } else if(tropa1.soldados[_loc1_].mododesejado == 2) { tropa1.soldados[_loc1_].alvo = tropa1.idlider; mudarEstado(_loc1_,EST_FAZERRECUO); } tropa1.soldados[_loc1_].modo = tropa1.soldados[_loc1_].mododesejado; } if(tropa1.soldados[_loc1_].classe == ARQ) { arqueiroTarefa(_loc1_); } else if(tropa1.soldados[_loc1_].classe == MAG) { clerigoTarefa(_loc1_); } else if(tropa1.soldados[_loc1_].classe == CLR) { clerigoTarefa(_loc1_); } else if(tropa1.soldados[_loc1_].classe == GRR) { guerreiroTarefa(_loc1_); } else if(tropa1.soldados[_loc1_].classe == CAV) { guerreiroTarefa(_loc1_); } } } } function mudarEstado(i, estado) { tropa1.soldados[i].estado = estado; if((estado == EST_ATACAROFENSIVO || estado == EST_ATACARDEFENSIVO || estado == EST_CURAR) && tropa1.soldados[i].status) { _root["sd" + i].gotoAndStop("ataca" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry); _root["sd" + i]["ataca" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry].play(); } else if(estado == EST_PERSEGUIR && tropa1.soldados[i].status) { _root["sd" + i].gotoAndStop("move" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry); _root["sd" + i]["move" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry].play(); } else if(estado == EST_MORRER) { _root["sd" + i].gotoAndStop("morre"); _root["sd" + i].morre.play(); } else if(estado == EST_PARADODEFENSIVO && tropa1.soldados[i].status) { _root["sd" + i].gotoAndStop("move" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry); _root["sd" + i]["move" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry].stop(); } else if(estado == EST_PARADO && tropa1.soldados[i].status) { _root["sd" + i].gotoAndStop(1); _root["sd" + i]["move-11"].stop(); } } function setObjetivo(i) { if(lado1 == 0 || lado2 == 0) { mudarEstado(i,EST_PARADO); tropa1.soldados[i].alvo = -1; return undefined; } if(tropa1.soldados[i].classe == CLR) { mudarEstado(i,EST_PERSEGUIR); var _loc6_ = -1; for(var _loc9_ in tropa1.soldados) { if(i != _loc9_) { if(!(tropa1.soldados[_loc9_].tropa != tropa1.soldados[i].tropa || !tropa1.soldados[_loc9_].status || tropa1.soldados[_loc9_].classe == CLR)) { if(tropa1.soldados[_loc9_].getMaxPV() - tropa1.soldados[_loc9_].PV >= 60) { if(_loc6_ == -1 || tropa1.soldados[_loc9_].PV < tropa1.soldados[_loc6_].PV) { _loc6_ = _loc9_; } } } } } if(_loc6_ != -1) { tropa1.soldados[i].alvo = _loc6_; } else { mudarEstado(i,EST_PARADO); } return undefined; } if(tropa1.soldados[i].classe == MAG) { mudarEstado(i,EST_PERSEGUIR); _loc6_ = -1; for(_loc9_ in tropa1.soldados) { if(i != _loc9_) { if(!(tropa1.soldados[_loc9_].tropa == tropa1.soldados[i].tropa || !tropa1.soldados[_loc9_].status)) { if(_loc6_ == -1 || tropa1.soldados[_loc9_].getPV() < tropa1.soldados[_loc6_].getPV()) { _loc6_ = _loc9_; } } } } tropa1.soldados[i].alvo = _loc6_; return undefined; } if(tropa1.soldados[i].classe == ARQ) { mudarEstado(i,EST_PERSEGUIR); var _loc5_ = -1; var _loc8_ = undefined; for(_loc9_ in tropa1.soldados) { if(i != _loc9_) { if(!(tropa1.soldados[_loc9_].tropa == tropa1.soldados[i].tropa || !tropa1.soldados[_loc9_].status)) { _loc8_ = _loc9_; if(_loc5_ == -1 || !tropa1.soldados[_loc9_].andando) { _loc5_ = _loc9_; break; } } } } tropa1.soldados[i].alvo = _loc5_ != -1 ? _loc5_ : _loc8_; return undefined; } if(tropa1.soldados[i].classe == CAV || tropa1.soldados[i].classe == GRR) { mudarEstado(i,EST_PERSEGUIR); _loc6_ = -1; var _loc7_ = 0; for(_loc9_ in tropa1.soldados) { if(i != _loc9_) { if(!(tropa1.soldados[_loc9_].tropa == tropa1.soldados[i].tropa || !tropa1.soldados[_loc9_].status)) { var _loc4_ = tropa1.soldados[_loc9_].x - tropa1.soldados[i].x; var _loc3_ = tropa1.soldados[_loc9_].y - tropa1.soldados[i].y; var _loc2_ = _loc4_ * _loc4_ + _loc3_ * _loc3_; if(_loc6_ == -1 || _loc2_ < _loc7_) { _loc7_ = _loc2_; _loc6_ = _loc9_; } } } } tropa1.soldados[i].alvo = _loc6_; return undefined; } } function atualizarObjetivo() { var _loc2_ = tropa1.soldados.length; var _loc1_ = 0; while(_loc1_ < _loc2_) { setObjetivo(_loc1_); _loc1_ = _loc1_ + 1; } } function isAdjacente(deltax, deltay) { return Math.abs(deltax) + Math.abs(deltay) <= 2 && Math.abs(deltax) != 2 && Math.abs(deltay) != 2; } function randomBattle() { tropa1.soldados = new Array(); lado1 = lado2 = 0; tropa1.addSoldado(Math.round(Math.random() * 4)); tropa1.soldados[tropa1.soldados.length - 1].tropa = 1; tropa1.soldados[tropa1.soldados.length - 1].lider = true; tropa1.soldados[tropa1.soldados.length - 1].addNivel(2); tropa1.setLider(tropa1.soldados[tropa1.soldados.length - 1]); tropa1.setNome("Anacroz"); lado1++; tropa1.addSoldado(Math.round(Math.random() * 4)); tropa1.soldados[tropa1.soldados.length - 1].tropa = 0; tropa1.soldados[tropa1.soldados.length - 1].lider = true; lado2++; var _loc1_ = 0; while(_loc1_ < 4) { if(Math.round(Math.random() * 2)) { tropa1.addSoldado(GRR); tropa1.soldados[tropa1.soldados.length - 1].tropa = 1; lado1++; } if(Math.round(Math.random() * 2)) { tropa1.addSoldado(GRR); tropa1.soldados[tropa1.soldados.length - 1].tropa = 0; lado2++; } _loc1_ = _loc1_ + 1; } _loc1_ = 0; while(_loc1_ < 3) { if(Math.round(Math.random() * 2)) { tropa1.addSoldado(ARQ); tropa1.soldados[tropa1.soldados.length - 1].tropa = 1; lado1++; } if(Math.round(Math.random() * 2)) { tropa1.addSoldado(ARQ); tropa1.soldados[tropa1.soldados.length - 1].tropa = 0; lado2++; } _loc1_ = _loc1_ + 1; } _loc1_ = 0; while(_loc1_ < 3) { if(Math.round(Math.random() * 2)) { tropa1.addSoldado(CAV); tropa1.soldados[tropa1.soldados.length - 1].tropa = 1; lado1++; } if(Math.round(Math.random() * 2)) { tropa1.addSoldado(CAV); tropa1.soldados[tropa1.soldados.length - 1].tropa = 0; lado2++; } _loc1_ = _loc1_ + 1; } _loc1_ = 0; while(_loc1_ < 2) { if(Math.round(Math.random() * 2)) { tropa1.addSoldado(MAG); tropa1.soldados[tropa1.soldados.length - 1].tropa = 1; lado1++; } if(Math.round(Math.random() * 2)) { tropa1.addSoldado(MAG); tropa1.soldados[tropa1.soldados.length - 1].tropa = 0; lado2++; } _loc1_ = _loc1_ + 1; } _loc1_ = 0; while(_loc1_ < 2) { if(Math.round(Math.random() * 2)) { tropa1.addSoldado(CLR); tropa1.soldados[tropa1.soldados.length - 1].tropa = 1; lado1++; } if(Math.round(Math.random() * 2)) { tropa1.addSoldado(CLR); tropa1.soldados[tropa1.soldados.length - 1].tropa = 0; lado2++; } _loc1_ = _loc1_ + 1; } tropa1.setEstrategia(0); } function clock() { atualizarFlecha(); atualizarTarefa(); atualizarPosicoes(); } function inicializaCenario(fase) { var _loc4_ = sizeh + sizew - 1; var _loc3_ = 0; while(_loc3_ < _loc4_) { nivelAtual[_loc3_] = 0; _loc3_ = _loc3_ + 1; } flechaAtual = 0; grid = new Array(sizeh); _loc3_ = 0; while(_loc3_ < sizeh) { grid[_loc3_] = new Array(sizew); _loc3_ = _loc3_ + 1; } _loc3_ = 0; while(_loc3_ < sizeh) { var _loc2_ = 0; while(_loc2_ < sizew) { grid[_loc3_][_loc2_] = grid_tmp[_loc3_][_loc2_] != 0 ? 500 : -1; _loc2_ = _loc2_ + 1; } _loc3_ = _loc3_ + 1; } _root.posicionarSoldados(tropa1); lado1 = lado2 = 0; for(_loc3_ in tropa1.soldados) { tropa1.soldados[_loc3_].atacando = false; tropa1.soldados[_loc3_].andando = false; if(tropa1.soldados[_loc3_].tropa == 1) { tropa1.soldados[_loc3_].mododesejado = tropa1.getEstrategia(); tropa1.soldados[_loc3_].modo = 4; } else { tropa1.soldados[_loc3_].modo = 0; } if(tropa1.soldados[_loc3_].status) { if(tropa1.soldados[_loc3_].tropa == 0) { lado2++; } else { lado1++; } if(tropa1.soldados[_loc3_].isLeader() && tropa1.soldados[_loc3_].tropa == 1) { tropa1.idlider = _loc3_; } } } _root.attachMovie("painel_jogo","painel_jogo",nivelPaineis); _root.painel_jogo._x = 3.5; _root.painel_jogo._y = 3.1; _root.painel_jogo.edTropa = tropa1.getNome(); _root.painel_jogo.soldados = lado1; _root.attachMovie("painel_status","painel_status",nivelPaineis + 1); _root.painel_status._x = 4; _root.painel_status._y = 506; _root.painel_status.alert._visible = false; var _loc5_ = tropa1.soldados.length; _loc3_ = 0; while(_loc3_ < _loc5_) { if(tropa1.soldados[_loc3_].isLeader() && tropa1.soldados[_loc3_].tropa == 1) { _root["sd" + _loc3_].setaSelecao._visible = true; _root.pressSoldado(_loc3_); } else { _root["sd" + _loc3_].setaSelecao._visible = false; } _loc3_ = _loc3_ + 1; } _root.attachMovie("dica","dica_dia",nivelMensagens); _root.dica_dia._x = 125; _root.dica_dia._y = 85; } function showMessage(n) { switch(n) { case 0: _root.attachMovie("msg_batalha","msg",nivelMensagens); _root.msg._x = 28; _root.msg._y = 230; break; case 1: stopAllSounds(); clearInterval(_root.tarefa); _root.fx.attachSound("vitoria"); _root.fx.start(); _root.attachMovie("msg_vitoria","msg",nivelMensagens); _root.msg._x = 222.5; _root.msg._y = 250; break; case 2: stopAllSounds(); clearInterval(_root.tarefa); _root.fx.attachSound("derrota"); _root.fx.start(); _root.attachMovie("msg_derrota","msg",nivelMensagens); _root.msg._x = 84.5; _root.msg._y = 248.6; } } function finalizaCenario(x) { var _loc3_ = undefined; _root.sd_sel = -1; removeMovieClip("_root.alvo2"); _root.alvo2.stopDrag(); _root.magiaAtiva = false; Mouse.show(); removeMovieClip("_root.painel_jogo"); removeMovieClip("_root.painel_status"); removeMovieClip("_root.cenario"); var _loc2_ = 0; while(_loc2_ < tropa1.soldados.length) { removeMovieClip("_root.sd" + _loc2_); _loc2_ = _loc2_ + 1; } lado2 = 0; selecionado = -1; _quality = "MEDIUM"; for(_loc2_ in flechas) { removeMovieClip("_root.f1" + flechas[_loc2_].id); } flechaAtual = 0; flechas = new Array(); if(x == 1) { if(tropa1.cenario == 4) { _root.gotoAndStop("zera"); tropa1.setCenario(0); } else if(_root.modoCampanha) { tropa1.setFundos(tropa1.getFundos() + _root.cenarios[tropa1.cenario++][4]); _loc2_ = tropa1.soldados.length - 1; while(_loc2_ >= 0) { tropa1.soldados[_loc2_].andando = false; tropa1.soldados[_loc2_].atacando = false; tropa1.soldados[_loc2_].alvo = -1; tropa1.soldados[_loc2_].setPV(tropa1.soldados[_loc2_].getMaxPV()); tropa1.soldados[_loc2_].setPM(tropa1.soldados[_loc2_].getMaxPM()); if(tropa1.soldados[_loc2_].isLeader()) { lado1--; tropa1.soldados.splice(_loc2_,1); } else if(tropa1.soldados[_loc2_].tropa == 0 || tropa1.soldados[_loc2_].status == false) { tropa1.soldados.splice(_loc2_,1); } _loc2_ = _loc2_ - 1; } _root.fx.attachSound("entrada"); _root.fx.start(); _root.destino = "soldados"; _root.gotoAndPlay(_root.destino); } else { lado1 = lado2 = 0; _root.fx.attachSound("entrada"); _root.fx.start(); _root.gotoAndPlay("entrada"); _root.modoCampanha = true; } } else { lado1 = lado2 = 0; tropa1.setCenario(0); _root.fx.attachSound("entrada"); _root.fx.start(); _root.gotoAndPlay("entrada"); _root.modoCampanha = true; } } function showAlert(str) { _root.attachMovie("aviso","wd_aviso",_root.getNextHighestDepth()); _root.wd_aviso.texto = str; _root.wd_aviso._x = 209; _root.wd_aviso._y = 229; _root.bt_ok.enabled = false; _root.bt_aleatorio.enabled = false; _root.bt_inventorio.enabled = false; _root.bt_cancelar.enabled = false; _root.bt_recrutar.enabled = false; _root.bt_voltar.enabled = false; _root.bt_dispensar.enabled = false; _root.bt_ajuda.enabled = false; _root.bt_adicionar.enabled = false; _root.bt_remover.enabled = false; } function hideAlert() { removeMovieClip("wd_aviso"); _root.bt_ok.enabled = true; _root.bt_aleatorio.enabled = true; _root.bt_inventorio.enabled = true; _root.bt_cancelar.enabled = true; _root.bt_recrutar.enabled = true; _root.bt_voltar.enabled = true; _root.bt_dispensar.enabled = true; _root.bt_ajuda.enabled = true; _root.bt_adicionar.enabled = true; _root.bt_remover.enabled = true; } function showConfirm(str) { _root.attachMovie("confirma","wd_confirma",_root.getNextHighestDepth()); _root.wd_confirma.texto = str; _root.wd_confirma._x = 145; _root.wd_confirma._y = 225; _root.bt_ok.enabled = false; _root.bt_aleatorio.enabled = false; _root.bt_inventorio.enabled = false; _root.bt_cancelar.enabled = false; _root.bt_recrutar.enabled = false; _root.bt_voltar.enabled = false; _root.bt_dispensar.enabled = false; _root.bt_ajuda.enabled = false; _root.bt_adicionar.enabled = false; _root.bt_remover.enabled = false; } function hideConfirm() { removeMovieClip("wd_confirma"); _root.bt_ok.enabled = true; _root.bt_aleatorio.enabled = true; _root.bt_inventorio.enabled = true; _root.bt_cancelar.enabled = true; _root.bt_recrutar.enabled = true; _root.bt_voltar.enabled = true; _root.bt_dispensar.enabled = true; _root.bt_ajuda.enabled = true; _root.bt_adicionar.enabled = true; _root.bt_remover.enabled = true; } function aviso(str) { _root.painel_status.alert.texto = str; _root.painel_status.alert._visible = true; _root.painel_status.alert.gotoAndPlay(1); } function callConfirmOption(opt) { var _loc2_ = 1; switch(opt) { case 1: _root.destino = "cenario"; _root.play(); break; case 2: tropa1.soldados.splice(_root.sd_sel - 1,1); tropa1.soldados.sortOn(["classe","nome"],Array.DESCENDING | Array.UNIQUESORT); _root.sd_sel = -1; lado1--; while(_loc2_ <= 5) { _loc2_; _root.mini_item["item" + _loc2_++].gotoAndStop(1); } _loc2_ = 1; while(_loc2_ <= 15) { if(tropa1.soldados[_loc2_ - 1] == undefined) { _root["s" + _loc2_].gotoAndStop(1); _root["s" + _loc2_].nome = ""; } else { _root["s" + _loc2_].gotoAndStop(tropa1.soldados[_loc2_ - 1].getClasse() + 2); _root["s" + _loc2_].nome = tropa1.soldados[_loc2_ - 1].getNome(); } _root["s" + _loc2_].selecionado._visible = false; _loc2_ = _loc2_ + 1; } break; case 3: _root.destino = "tropa"; _root.play(); tropa1.soldados = undefined; tropa1.soldados = new Array(); tropa1.setCenario(0); while(_loc2_ < 16) { _loc2_; _root["s" + _loc2_++].selecionado._visible = false; } lado1 = 0; _root.sd_sel = 0; _root.edFundos = _root.fundo_inicial; break; case 4: _root.sd_sel = -1; lado2 = 0; selecionado = -1; stopAllSounds(); _quality = "MEDIUM"; for(_loc2_ in flechas) { removeMovieClip("_root.f1" + flechas[_loc2_].id); } flechaAtual = 0; flechas = new Array(); _root.fx.attachSound("entrada"); _root.fx.start(); for(_loc2_ in tropa1.soldados) { removeMovieClip(_root["sd" + _loc2_]); } clearInterval(_root.tarefa); removeMovieClip("painel_jogo"); removeMovieClip("painel_status"); removeMovieClip("cenario"); _loc2_ = tropa1.soldados.length - 1; while(_loc2_ >= 0) { tropa1.soldados[_loc2_].andando = false; tropa1.soldados[_loc2_].alvo = -1; tropa1.soldados[_loc2_].setPV(tropa1.soldados[_loc2_].getMaxPV()); if(tropa1.soldados[_loc2_].isLeader()) { lado1--; tropa1.soldados.splice(_loc2_,1); } else if(tropa1.soldados[_loc2_].tropa == 0 || tropa1.soldados[_loc2_].status == false) { tropa1.soldados.splice(_loc2_,1); } _loc2_ = _loc2_ - 1; } if(_root.modoCampanha) { _root.sd_sel = 0; _root.destino = "soldados"; _root.gotoAndPlay(_root.destino); } else { _root.gotoAndPlay("entrada"); _root.modoCampanha = true; } } _root.hideConfirm(); _root.edSoldado = _root.edClasse = _root.edNivel = _root.edPV = _root.edPM = "?"; _root.edEXP = _root.edATQ = _root.edDEF = _root.edAGL = "?"; _root.edINT = _root.edMRL = _root.edCusto = "?"; } function getprofundidade(x, y) { var _loc1_ = y - x + sizew - 1; var _loc2_ = (_loc1_ * _loc1_ + _loc1_) / 2 + 32 * _loc1_; return _loc2_ + y + 1; } function getisox(i) { return tropa1.soldados[i].diry + tropa1.soldados[i].dirx; } function getisoy(i) { return tropa1.soldados[i].diry - tropa1.soldados[i].dirx; } function posicionarSoldados(tr) { var _loc7_ = tr.soldados.length; var _loc2_ = 0; while(_loc2_ < _loc7_) { var _loc3_ = undefined; var _loc4_ = undefined; var _loc5_ = tr.soldados[_loc2_].tropa; while(true) { _loc4_ = Math.round(Math.random() * (sizeh - 1)); _loc3_ = Math.round(Math.random() * (sizew - 1)); if(!(_loc5_ == 1 && _loc3_ > 3)) { if(!(_loc5_ == 0 && _loc3_ < sizew - 4)) { if(grid[_loc4_][_loc3_] < 0) { break; } } } } if(_loc5_ == 1) { _root.attachMovie("soldado" + tr.soldados[_loc2_].getClasse(),"sd" + _loc2_,nivelSoldados + getprofundidade(_loc3_,_loc4_)); } else { _root.attachMovie("inimigo" + tr.soldados[_loc2_].getClasse(),"sd" + _loc2_,nivelSoldados + getprofundidade(_loc3_,_loc4_)); } _root["sd" + _loc2_]._x = x0 + dx + (_loc3_ + _loc4_) * dx; _root["sd" + _loc2_]._y = y0 + (_loc4_ - _loc3_) * dy; tr.soldados[_loc2_].x = _loc3_; tr.soldados[_loc2_].y = _loc4_; if(tr.soldados[_loc2_].isLeader()) { _root["sd" + _loc2_].coroa._visible = true; } else { _root["sd" + _loc2_].coroa._visible = false; } if(_loc5_ == 0) { _root["sd" + _loc2_].gotoAndStop("move-10"); } else { _root["sd" + _loc2_].gotoAndStop("move10"); } grid[_loc4_][_loc3_] = _loc2_; _loc2_ = _loc2_ + 1; } } function randSoldado() { var _loc3_ = 1; var _loc4_ = undefined; var _loc2_ = undefined; var _loc5_ = undefined; _root.edCustoTotal = _loc4_ = 0; while(_loc3_ <= 5) { _loc3_; _root["rc_" + _loc3_++].qtd = 0; } _loc3_ = 1; _loc5_ = _root.sd_num_max - _root.rc_total_tmp; _root.rc_total = _root.rc_total_tmp; while(_loc3_ <= _loc5_) { _loc2_ = Math.round(Math.random() * 5) + 1; if(_loc4_ + Number(_root["rc_" + _loc2_].custo) < _root.edFundos) { _root["rc_" + _loc2_].qtd = Number(_root["rc_" + _loc2_].qtd) + 1; _loc4_ += Number(_root["rc_" + _loc2_].custo); _root.rc_total = _root.rc_total + 1; } _loc3_ = _loc3_ + 1; } if(!_loc4_) { _root.showAlert("Não há fundos suficientes para recrutar mais soldados!"); } _root.edCustoTotal = _loc4_; } function createLider(tipo) { var sd = new Soldado(); switch(tipo) { case 1: with(sd) { setClasse(CAV); setMaxPV(_root.sd_valores[CAV][PV]); setMaxPM(_root.sd_valores[CAV][PM]); setPV(_root.sd_valores[CAV][PV]); setPM(_root.sd_valores[CAV][PM]); setATQ(_root.sd_valores[CAV][ATQ]); setDEF(_root.sd_valores[CAV][DEF]); setAGL(_root.sd_valores[CAV][AGL]); setINT(_root.sd_valores[CAV][INT]); setMRL(_root.sd_valores[CAV][MRL]); setCusto(_root.sd_valores[CAV][VALOR]); setAlcance(_root.sd_valores[CAV][ALCANCE]); addNivel(1); itens.push(_root.createItem(7)); itens[0].equip(); setDano(itens[0].getPoder() + getATQ()); itens.push(_root.createItem(13)); itens[1].equip(); setDefesa(itens[1].getPoder() + getDEF()); itens.push(_root.createItem(11)); itens[2].equip(); setDefesa(itens[2].getPoder() + getDefesa()); } break; case 2: with(sd) { setClasse(MAG); setMaxPV(_root.sd_valores[MAG][PV]); setMaxPM(_root.sd_valores[MAG][PM]); setPV(_root.sd_valores[MAG][PV]); setPM(_root.sd_valores[MAG][PM]); setATQ(_root.sd_valores[MAG][ATQ]); setDEF(_root.sd_valores[MAG][DEF]); setAGL(_root.sd_valores[MAG][AGL]); setINT(_root.sd_valores[MAG][INT]); setMRL(_root.sd_valores[MAG][MRL]); setCusto(_root.sd_valores[MAG][VALOR]); setAlcance(_root.sd_valores[MAG][ALCANCE]); addNivel(2); itens.push(_root.createItem(9)); itens[0].equip(); setDano(itens[0].getPoder() + getATQ()); itens.push(_root.createItem(15)); itens[1].equip(); setDefesa(itens[1].getPoder() + getDEF()); magias.push(0); magias.push(1); } } return sd; } function createItem(x) { var _loc3_ = undefined; var _loc4_ = undefined; var _loc6_ = undefined; var _loc7_ = undefined; var _loc8_ = undefined; var _loc5_ = undefined; _loc4_ = _root.it_valores[x][0]; _loc8_ = _root.it_valores[x][1]; _loc6_ = _root.it_valores[x][2]; _loc5_ = _root.it_valores[x][3]; _loc7_ = _root.it_valores[x][4]; _loc3_ = new Item(_loc4_,_loc8_,_loc6_,_loc5_,_loc7_); return _loc3_; } function checkItem(sd, it) { var _loc2_ = _root.it_valores[it][0]; switch(sd.getClasse()) { case 0: if(_loc2_ >= 4 && _loc2_ <= 9 || _loc2_ == 14 || _loc2_ == 15) { return false; } break; case 1: if(_loc2_ >= 6 && _loc2_ <= 13 || _loc2_ == 2 || _loc2_ == 3) { return false; } break; case 2: if(_loc2_ >= 2 && _loc2_ <= 5 || _loc2_ == 8 || _loc2_ == 9 || _loc2_ == 14 || _loc2_ == 15) { return false; } break; case 3: case 4: if(_loc2_ >= 2 && _loc2_ <= 7 || _loc2_ >= 10 && _loc2_ <= 13) { return false; } break; } return true; } function selecionar(ids) { if(selecionado != -1) { _root["sd" + selecionado].setaSelecao._visible = false; } selecionado = ids; _root["sd" + selecionado].setaSelecao._visible = true; } function inicializa(id) { _root.onEnterFrame = function() { if(Key.isDown(65)) { if(id == tropa1.idlider) { for(var _loc2_ in tropa1.soldados) { if(tropa1.soldados[_loc2_].tropa == 1) { tropa1.soldados[_loc2_].mododesejado = 0; } } } tropa1.soldados[id].mododesejado = 0; _root.aviso("MODO DE ATAQUE"); } if(Key.isDown(68)) { if(id == tropa1.idlider) { for(_loc2_ in tropa1.soldados) { if(tropa1.soldados[_loc2_].tropa == 1) { tropa1.soldados[_loc2_].mododesejado = 1; } } } tropa1.soldados[id].mododesejado = 1; _root.aviso("MODO DE DEFESA"); } if(Key.isDown(82)) { if(id == tropa1.idlider) { for(_loc2_ in tropa1.soldados) { if(tropa1.soldados[_loc2_].tropa == 1) { tropa1.soldados[_loc2_].mododesejado = 2; } } } tropa1.soldados[id].mododesejado = 2; _root.aviso("MODO DE RECUO"); } if(tropa1.soldados[id].andando) { return undefined; } if(tropa1.soldados[id].atacando) { return undefined; } if(Key.isDown(32)) { if(!tropa1.soldados[id].atacando) { mudarEstado(id,EST_ATACAROFENSIVO); tropa1.soldados[id].atacando = true; if(id != grid[tropa1.soldados[id].y + tropa1.soldados[id].diry][tropa1.soldados[id].x + tropa1.soldados[id].dirx]) { atacar(id,grid[tropa1.soldados[id].y + tropa1.soldados[id].diry][tropa1.soldados[id].x + tropa1.soldados[id].dirx]); } } } else if(Key.isDown(38)) { if(Key.isDown(39)) { tropa1.soldados[id].dirx = 1; tropa1.soldados[id].diry = 0; mudarEstado(id,EST_PERSEGUIR); andar(id,1,0); } else if(Key.isDown(37)) { tropa1.soldados[id].dirx = 0; tropa1.soldados[id].diry = -1; mudarEstado(id,EST_PERSEGUIR); andar(id,0,-1); } else { tropa1.soldados[id].dirx = 1; tropa1.soldados[id].diry = -1; mudarEstado(id,EST_PERSEGUIR); andar(id,1,-1); } } else if(Key.isDown(40)) { if(Key.isDown(39)) { tropa1.soldados[id].dirx = 0; tropa1.soldados[id].diry = 1; mudarEstado(id,EST_PERSEGUIR); andar(id,0,1); } else if(Key.isDown(37)) { tropa1.soldados[id].dirx = -1; tropa1.soldados[id].diry = 0; mudarEstado(id,EST_PERSEGUIR); andar(id,-1,0); } else { tropa1.soldados[id].dirx = -1; tropa1.soldados[id].diry = 1; mudarEstado(id,EST_PERSEGUIR); andar(id,-1,1); } } else if(Key.isDown(37)) { tropa1.soldados[id].dirx = -1; tropa1.soldados[id].diry = -1; mudarEstado(id,EST_PERSEGUIR); andar(id,-1,-1); } else if(Key.isDown(39)) { tropa1.soldados[id].dirx = 1; tropa1.soldados[id].diry = 1; mudarEstado(id,EST_PERSEGUIR); andar(id,1,1); } }; } function pressSoldado(num) { if(!tropa1.soldados[num].status) { return undefined; } var _loc2_ = 0; _root.fx.attachSound("accept"); _root.fx.start(); tropa1.soldados[num].alvo = -1; tropa1.soldados[num].modo = 3; delete _root.onEnterFrame; _root.selecionar(num); _root.painel_status.edNome = tropa1.soldados[num].getNome(); _root.painel_status.edPV = tropa1.soldados[num].getPV(); _root.painel_status.edPM = tropa1.soldados[num].getPM(); _root.painel_status.edMaxPV = tropa1.soldados[num].getMaxPV(); _root.painel_status.edMaxPM = tropa1.soldados[num].getMaxPM(); _root.painel_status.edNivel = tropa1.soldados[num].getNivel(); _root.painel_status.edEXP = tropa1.soldados[num].getEXP(); _root.painel_status.rosto.gotoAndStop(tropa1.soldados[num].getClasse() + 2); while(_loc2_ < 6) { if(tropa1.soldados[num].itens[_loc2_]) { var _loc4_ = tropa1.soldados[num].itens[_loc2_].getCod(); _root.painel_status["item" + (_loc2_ + 1)].useHandCursor = _loc4_ < 2; _root.painel_status["item" + (_loc2_ + 1)].gotoAndStop(tropa1.soldados[num].itens[_loc2_].getCod() + 2); } else { _root.painel_status["item" + (_loc2_ + 1)].useHandCursor = false; _root.painel_status["item" + (_loc2_ + 1)].gotoAndStop(1); } _loc2_ = _loc2_ + 1; } _root.painel_status.magia1.useHandCursor = false; _root.painel_status.magia1.gotoAndStop(1); _root.painel_status.magia2.useHandCursor = false; _root.painel_status.magia2.gotoAndStop(1); if(tropa1.soldados[num].getClasse() == 3) { _root.painel_status.magia1.useHandCursor = true; _root.painel_status.magia1.gotoAndStop(2); _root.painel_status.magia2.useHandCursor = true; _root.painel_status.magia2.gotoAndStop(3); } if(tropa1.soldados[num].getClasse() == 4) { _root.painel_status.magia1.useHandCursor = true; _root.painel_status.magia1.gotoAndStop(4); _root.painel_status.magia2.useHandCursor = false; _root.painel_status.magia2.gotoAndStop(1); } _root.inicializa(num); } function calculaDano(s1, s2, j) { var _loc6_ = undefined; var _loc9_ = undefined; var _loc12_ = undefined; var _loc3_ = undefined; var _loc13_ = undefined; var _loc4_ = undefined; var _loc5_ = undefined; var _loc8_ = undefined; var _loc7_ = undefined; switch(s1.getClasse()) { case 0: _root.fx.attachSound("guerreiro"); _root.fx.start(); break; case 2: _root.fx.attachSound("cavaleiro"); _root.fx.start(); break; case 3: case 4: _root.fx.attachSound("mago"); _root.fx.start(); } _loc4_ = s1.getDano(); _loc7_ = s1.getAGL(); _loc8_ = s2.getPV(); _loc13_ = s2.getMaxPV(); _loc5_ = s2.getDefesa(); _loc6_ = Math.round(Math.random() * _loc7_); if(_loc5_ + _loc6_ > _loc4_) { _loc3_ = 0; } else { _loc3_ = _loc4_ - _loc5_ + _loc6_; } s2.setPV(_loc8_ - _loc3_); _loc12_ = 40; _loc9_ = Math.round(s2.getPV() * 100 / _loc13_); _root["sd" + j].barra._width = _loc12_ * _loc9_ / 100; _root["sd" + j].msg_dano.valor = "<font size=\'13\' color=\'#FFFFFF\'><b>" + _loc3_ + "</b></font>"; _root["sd" + j].msg_dano.gotoAndPlay(1); } function calculaMagiaDano(s1, s2, j, m) { var _loc4_ = undefined; var _loc7_ = undefined; var _loc11_ = undefined; var _loc3_ = undefined; var _loc12_ = undefined; var _loc9_ = undefined; var _loc5_ = undefined; var _loc8_ = undefined; var _loc6_ = undefined; _loc5_ = s2.getPV(); _loc12_ = s2.getMaxPV(); _loc9_ = s2.getDefesa(); _loc8_ = s1.getINT(); _loc6_ = s2.getINT(); _loc4_ = Math.round(Math.random() * _loc8_); _loc3_ = _root.mg_valores[m][2] + _loc4_; _loc4_ = Math.round(Math.random() * _loc6_); if(_loc9_ + _loc4_ > _loc3_) { _loc3_ = 0; } s2.setPV(_loc5_ - _loc3_); _loc11_ = 40; _loc7_ = Math.round(s2.getPV() * 100 / _loc12_); _root["sd" + j].barra._width = _loc11_ * _loc7_ / 100; _root["sd" + j].msg_dano.valor = "<font size=\'13\' color=\'#FFFFFF\'><b>" + _loc3_ + "</b></font>"; _root["sd" + j].msg_dano.gotoAndPlay(1); } function atualizarFlecha() { var _loc2_ = flechas.length; var _loc1_ = _loc2_ - 1; while(_loc1_ >= 0) { if(!flechas[_loc1_].ativa) { flechas.splice(_loc1_,1); } else { flechas[_loc1_].atualizar(); } _loc1_ = _loc1_ - 1; } } function parei(i) { if(tropa1.soldados[i].getClasse() == ARQ) { _root.fx.attachSound("arqueiro"); _root.fx.start(); } tropa1.soldados[i].atacando = false; _root["sd" + i].gotoAndStop("move" + tropa1.soldados[i].dirx + tropa1.soldados[i].diry); } System.useCodepage = true; Stage.showMenu = false; _quality = "MEDIUM"; _global.flechas = new Array(); _global.GRR = 0; _global.ARQ = 1; _global.CAV = 2; _global.MAG = 3; _global.CLR = 4; _global.CLASSE = 0; _global.PV = 1; _global.PM = 2; _global.ATQ = 3; _global.DEF = 4; _global.AGL = 5; _global.INT = 6; _global.MRL = 7; _global.VALOR = 8; _global.ALCANCE = 9; var destino = "entrada"; var modoCampanha = true; var espolios; var rc_sel = 0; var sd_sel = 0; var opt_confirm = 1; var sd_num_max = 15; var sd_item_sel; var it_selx; var it_sely; var it_depth; var ld_sel = 0; var rc_total_tmp; var client; var magiaAtiva = false; var magia_sel; var fundo_inicial = 15000; var tarefa1; var tarefa2; var tarefa3; var fx = new Sound(); var cenarios = new Array(new Array(0,1,"O Primeiro Confronto","O rei de Gárdia o convocou a reunir suas tropas e enfrentar o exércitos de Lemendau. Enfrente as tropas que defendem a fronteira do território inimigo!",6000),new Array(1,1,"A Batalha de Pedegrim","Suas tropas movem-se aos extensos campos de Pedegrim, onde muitas batalhas já foram travadas. Tropas inimigas esperam pela sua chegada para mais um confronto!",8000),new Array(2,1,"O Cerco da Floresta","Um cerco se fechou contra sua tropa na densa Floresta Espiã. Escape dos arqueiros da tropa inimiga! Derrote todos os inimigos!",10000),new Array(3,1,"A Travessia do Deserto","A travessia do deserto prepara confrontos com tropas inimigas acampadas nos oásis. Prepare suas tropas para batalhar nas areias!!!",15000),new Array(4,0,"A Fortaleza da Bruma","Seu objetivo final se aproxima.\nO líder do exército inimigo, La Brum, protege a fortaleza da Bruma! Derrote-o e vença a guerra!",18000)); var nomes = new Array("Adriano","Karlisson","Rafael","Daniel","Rick","Valentin","Igor","Claudio","Carlos","Richard","Kevin","Allan","Nicholas","Fred","Andrew","Goku","Master","Saulo","Marcel","Lawrence","Brian","Willian","Peter","David","Ghandi","Madson","Geraldo","Matt","Christian","James","Stephen","Karl","Alan","Napoleão","M@sTeR","Blair","Brandon","Paul","Mike","Bob","John","George","James","Bart","Kirotawa","Osama","Dennis","Roberto","Ronaldo","Marc","Hugo","Bruce","Reno","Homer","Guiné","Saddan","Johnson","Kaio","Dulmare","Yoda","Cicero","Paulo","Mateus","Elvis","Mario","Hittler","Jedd","Ashtar","Acacio","Ricardo","Rodrigo","Wagner","Helder","Gregório","Bush","Jefferson","Martin","Kull","Vader","Anakin","Kenobi","Felipe","Vicente","Yoshi","Lula","Pedro","Victor","Rafael","Lucas","Aldrim","Darwin","Piccolo","Zeck","Geovanio","Theo","Paulo","Flavio","Artur","Luis","Vinicius","Eduardo","Edwin","Aladin","Gilson","Lucas","Isaac","Helder","Hugo","Phillips","Tyson","Gorgon","Axl","Leon","Sidney","Glauber","Stallman","Bill","Bozo","Alex","Eberton","Morrisey","Hagar","Brown","Dick","Alberto","Tux","Mauricio","Arthur","Silvio"); var sd_valores = new Array(new Array("Guerreiro",900,0,10,4,6,4,3,1000,1),new Array("Arqueiro",895,0,9,3,6,6,3,800,10),new Array("Cavaleiro",910,0,13,5,6,5,4,2000,1),new Array("Mago",880,150,7,3,5,20,6,1100,1),new Array("Clérigo",878,60,6,2,5,16,7,900,1)); var it_valores = new Array(new Array(0,"Poção de cura",100,"PV",50),new Array(1,"Poção de magia",40,"PM",40),new Array(2,"Espada curta",14,"Ataque",80),new Array(3,"Espada larga",20,"Ataque",130),new Array(4,"Arco curto",22,"Ataque",90),new Array(5,"Arco Longo",30,"Ataque",170),new Array(6,"Lança curta",16,"Ataque",120),new Array(7,"Lança de guerra",22,"Ataque",140),new Array(8,"Cajado",13,"Ataque",60),new Array(9,"Cetro",20,"Ataque",110),new Array(10,"Escudo de ferro",5,"Defesa",80),new Array(11,"Escudo de guerra",10,"Defesa",160),new Array(12,"Armadura de ferro",6,"Defesa",90),new Array(13,"Armadura de aço",10,"Defesa",170),new Array(14,"Manto",2,"Defesa",20),new Array(15,"Robe",6,"Defesa",40)); var mg_valores = new Array(new Array(0,"Fogo",40,20),new Array(1,"Raio",60,30),new Array(2,"Cura",100,5)); var ld1 = _root.createLider(1); var ld2 = _root.createLider(2); _global.tropa1 = new Tropa(); _global.grid; _global.flechas = new Array(); _global.sizew = 18; _global.sizeh = 14; _global.x0 = -265; _global.y0 = 320; _global.dx = 40; _global.dy = 20; _global.vx = 2; _global.vy = 1; _global.EST_PARADO = 1; _global.EST_MORRER = 2; _global.EST_ATACAROFENSIVO = 3; _global.EST_ATACARDEFENSIVO = 4; _global.EST_PARADODEFENSIVO = 10; _global.EST_DEFENDER = 5; _global.EST_PERSEGUIR = 6; _global.EST_RECUAR = 7; _global.EST_OCIOSO = 8; _global.EST_CURAR = 9; _global.EST_PARADORECUO = 11; _global.EST_FAZERRECUO = 12; _global.selecionado; _global.lado1 = 0; _global.lado2 = 0; _global.flechaAtual = 0; _global.nivelSoldados = 1000; _global.nivelFlechas = 3000; _global.nivelCenarios = 50000; _global.nivelPaineis = 60000; _global.nivelMensagens = 70000; var niveis = sizeh + sizew - 1; _global.nivelAtual = new Array(niveis); var i = 0; while(i < niveis) { nivelAtual[i] = 0; i++; }